Modellbasierte Generierung und Reduktion von Testsuiten für Software-Produktlinien
نویسنده
چکیده
Software product line engineering is a paradigm for low-cost development of many individual but similar software products from a common software platform. For example, in automotive industry a software product line (SPL) of a software system for a luxury vehicle comprises typically more than hundreds of thousands variants. Testing can be used to ensure that the functionality of each single product variant of an SPL complies with its specification. Since testing each product variant separately is too expensive, existing approaches exploit the commonalities of these product variants. Therefore, these approaches reuse appropriate test artifacts or test only a small representative set of variants in place of the entire SPL. Since software product line engineering is a young discipline, some practical problems in SPL testing remain unresolved. For example, so far, no approach exists that achieves a certain coverage with respect to a chosen test coverage criterion for each product variant of an SPL efficiently. In this thesis a black-box test case generation approach is presented for software product lines. This approach can be used to efficiently generate a set of test cases for all variants of an SPL based on a formal specification (test model) that is enriched with variability. This set of test cases represents a complete SPL test suite that achieves for each product variant of this SPL a complete coverage with respect to structural test model coverage criteria. The efficiency of this approach based on the generation of test cases that are applicable to various product variants. Because of this re-use of test cases, fewer test cases have to be generated compared to generating these separately for each product variant. Additionally, three algorithms are presented for test suite reduction to further reduce the number of generated test cases. The novelty of these algorithms compared to existing reduction algorithms for test suites of single software systems is the consideration of re-useable test cases, which are applied to more than one variant, in a test suite. During test suite reduction, this consideration prevents the unintended decrease of the achieved test model coverage of each product variant. If testing each product variant with appropriate test cases of the complete SPL test suite is not possible due to limited resources, a complete SPL test suite can be used to identify a small representative set of product variants of the SPL. The test results of this representative set allow (to a certain degree) to draw inferences about the quality of the remaining variants. The approach has been implemented as a prototype and applied to two case studies for evaluation. V E R Ö F F E N T L I C H U N G E N Einige in dieser Arbeit vorgestellten Ideen und Texte wurden bereits teilweise in folgenden wissenschaftlichen Arbeiten publiziert: Cichos, H. ; Oster, S. ; Lochau, M. ; Schürr, A.: Model-based CoverageDriven Test Suite Generation for Software Product Lines. In: (MoDELS’11) Proceedings in the International Conference Model Driven Engineering Languages and Systems Bd. 6981, Springer, 2011 (LNCS), S. 425–439 Cichos, H. ; Heinze, T.: Efficient Test Suite Reduction by Merging Pairs of Suitable Test Cases. In: Proceedings of Models in Software Engineering: Reports and Revised Selected Papers of Workshops and Symposia at MoDELS’10 Bd. 6627, Springer, 2011 (LNCS), S. 244–258 Cichos, H. ; Lochau, M. ; Oster, S. ; Schürr, A.: Reduktion von Testsuiten für Software-Produktlinien. In: (SE’12) Beiträge zur Software Engineering Konferenz, 2012 (GI-Edition Lecture Notes in Informatics), S. 143–154 Cichos, H. ; Heinze, T.: Efficient Reduction of Model-based Generated Test Suites through Test Case Pair Prioritization. In: (MoDeVVa’10) Workshop on ModelDriven Engineering, Verification and Validation, IEEE, 2010, S. 37–42. – Best-PaperAward Cichos, H. ; Schürr, A.: Dynamische Äquivalenzklassen im Klassifikationsbaum für zustandsbehaftete Systeme. In: (Informatik’10) Beiträge der 40. Jahrestagung der Gesellschaft für Informatik e.V. Bd. 176. Bonn : Gesellschaft für Informatik, 2010 (LNI 2), S. 345–350 Lucio, L. ; Weißleder, S. ; Fondement, F. ; Cichos, H.: Models in Software Engineering. In: MoDeVVa 2011 Workshop Summary Bd. 7167. Springer, 2012, S. 183–186 I N H A LT S V E R Z E I C H N I S 1 einleitung 1 1.1 Wissenschaftlicher Beitrag . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Fallbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 softwaretest 7 2.1 Softwarequalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Qualitätssicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Dynamischer Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Teststufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 Testbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6 Klassifikation der Testtechniken . . . . . . . . . . . . . . . . . . . . . . 12 3 modellbasiertes testen 13 3.1 Modellgetriebenes Testen . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Modellkategorien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3 Modellierungssprachen . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 Zustandsautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Strukturelle Überdeckungskriterien . . . . . . . . . . . . . . . . . . . 19 3.6 Model-Checker als Testfallgeneratoren . . . . . . . . . . . . . . . . . . 22 4 testsuite-reduktion 25 4.1 Testsuite-Reduktionsproblem . . . . . . . . . . . . . . . . . . . . . . . 26 4.1.1 Redundanz hinsichtlich der abgedeckten Testziele . . . . . . . 26 4.1.2 Redundanz hinsichtlich der Eingabedatensequenz . . . . . . 27 4.2 Zeitpunkt der Reduktion . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5 software-produktlinien-test 31 5.1 Entwicklung von Software-Produktlinien . . . . . . . . . . . . . . . . 31 5.2 Entwicklungsrahmenwerk für Software-Produktlinien . . . . . . . . 32 5.3 Modellierung der Variabilität durch Featuremodelle . . . . . . . . . . 34 5.4 Testprozess einer SPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5 Themenverwandte SPL-Testansätze . . . . . . . . . . . . . . . . . . . 39 5.5.1 Wiederverwendung von Testartefakten . . . . . . . . . . . . . 39 5.5.2 Test ausgewählter Produkte . . . . . . . . . . . . . . . . . . . . 42 6 begriffsdefinitionen und benötigte methoden 45 6.1 Zustandsautomaten als Testmodelle . . . . . . . . . . . . . . . . . . . 45 6.2 Testfälle aus Zustandsautomaten . . . . . . . . . . . . . . . . . . . . . 46 6.3 Modellbasierter Software-Produktlinien-Test . . . . . . . . . . . . . . 47 6.4 150%-Testmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.5 Variantenübergreifende Verwendung von Testfällen . . . . . . . . . . 55 7 generierung von vollständigen spl-testsuiten 57 7.1 Vollständige SPL-Testsuite . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.2 Algorithmus generateSPLTestSuite . . . . . . . . . . . . . . . . . . . 58 7.3 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
منابع مشابه
Reduktion von Testsuiten für Software-Produktlinien
Eine Software-Produktlinie (SPL) bezeichnet eine Menge ähnlicher Produktvarianten, die bei entsprechend großer Anzahl einen erheblichen Testaufwand verursachen können. Viele modellbasierte SPL-Testansätze versuchen diesen Testaufwand zu verringern, indem Testfälle und Testmodelle aus vorangegangenen Testprozessen ähnlicher Produkte, wenn möglich, wiederverwendet werden. Eine weitere Möglichkeit...
متن کاملModellbasierte Generierung von Testfallszenarien für den aufwandsoptimierten Integrationstest
In der Praxis stellt der Integrationstest oft die aufwändigste Teststufe dar [Ts01]. Komponenten, die nicht Bestandteil des zu testenden integrierten Teilsystems sind, müssen teilweise durch Platzhalter und Treiber simuliert werden [Li02]. Diese bestimmen maßgeblich den Testaufwand und somit die Kosten des Integrationstests, da sie spezifiziert, entworfen und implementiert werden müssen. Die An...
متن کاملEin Metamodell zur integrierten Darstellung von aktuellen Konzepten zur Industrialisierung der Softwareentwicklung
Durch die Notwendigkeit der Steigerung von Effizienz und Qualität in der Softwareentwicklung wurden in den letzten Jahren eine Reihe von Konzepten für die Industrialisierung der Softwareentwicklungsprozesse entwickelt. Beispiele hierfür aus dem eher technologisch orientierten Bereich sind Serviceorientierte Architekturen (SOA), Business Process Management (BPM), komponentenbasierte und modellba...
متن کاملModellbasierte Entwicklung und Automatische Code-Generierung für sicherheitskritische Anwendungen
Modellbasierte Entwicklung und automatische Seriencode-Generierung haben in den vergangenen Jahren insbesondere in der Automobilindustrie weite Verbreitung gefunden. Die Automobilindustrie begegnet mit Hilfe dieser Methoden den steigenden Anforderungen, der gestiegenen Komplexität und den kürzeren Entwicklungszeiten. Gleichzeitig werden mehr und mehr sicherheitsrelevante Systeme in heutigen Fah...
متن کاملFeature-basierte Modellierung und Verarbeitung von Produktlinien am Beispiel eingebetteter Software
Verwandte Baureihen elektronischer Geräte haben typischerweise bezüglich der eingebetteten Software große Ähnlichkeit zueinander. Durch die Etablierung einer Software-Produktlinie lassen sich sowohl Kosten reduzieren als auch die allgemeine Qualität steigern. In dieser Arbeit wird eine Sprache zur Modellierung und Verarbeitung von Softwareund Systemvarianten vorgestellt, die modular durch einbe...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013